/* Copyright (c) 2000-2006 hamcrest.org
*/
package org.hamcrest.core;
import static org.hamcrest.core.DescribedAs.describedAs;
import static org.hamcrest.core.IsAnything.anything;
import static org.hamcrest.core.IsNot.not;
import org.hamcrest.AbstractMatcherTest;
import org.hamcrest.Matcher;
public class DescribedAsTest extends AbstractMatcherTest {
@Override protected Matcher<?> createMatcher() {
return describedAs("irrelevant", anything());
}
public void testOverridesDescriptionOfOtherMatcherWithThatPassedToConstructor() {
Matcher<?> m1 = describedAs("m1 description", anything());
Matcher<?> m2 = describedAs("m2 description", not(anything()));
assertDescription("m1 description", m1);
assertDescription("m2 description", m2);
}
public void testAppendsValuesToDescription() {
Matcher<?> m = describedAs("value 1 = %0, value 2 = %1",
anything(), 33, 97);
assertDescription("value 1 = <33>, value 2 = <97>", m);
}
public void testDelegatesMatchingToAnotherMatcher() {
Matcher<Object> m1 = describedAs("irrelevant", anything());
Matcher<Object> m2 = describedAs("irrelevant", not(anything()));
assertTrue(m1.matches(new Object()));
assertFalse(m2.matches("hi"));
}
}